# main.py
from models.user import User
from models.page import Page, PageType
from models.product import Product, ProductType
from services.transaction import PurchaseTransaction

if __name__ == "__main__":
    # 初始化数据
    users = [
        User("小明", balance=100),
        User("小红", balance=200),
        User("小花", points=500)
    ]

    pages = [
        Page("点餐页面", PageType.ORDER),
        Page("商城页面", PageType.MALL),
        Page("积分兑换页面", PageType.POINTS)
    ]

    products = [
        Product("摄影套餐", ProductType.PACKAGE, 15, "套"),
        Product("猫粮", ProductType.GOODS, 50, "袋"),
        Product("宠物养护服务", ProductType.SERVICE, 40, "次")
    ]

    # 执行交易
    transactions = [
        # 小明 在点餐页面 使用 余额购买了 两套摄影套餐, 花费30块
        PurchaseTransaction(users[0], pages[0], products[0].set_amount(2)),

        # 小红 在商城页面 使用 现金 购买了一袋猫粮, 现结50块
        PurchaseTransaction(users[1], pages[1], products[1].set_amount(1)),

        # 小花 在积分兑换页面 使用 积分 兑换了一次宠物养护服务, 花费40积分
        PurchaseTransaction(users[2], pages[2], products[2].set_amount(1))
    ]

    for transaction in transactions:
        log = transaction.execute()
        log.print_log()
